home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Tutorial / Cookbook / 06.slider / notes < prev    next >
Text File  |  1995-06-12  |  2KB  |  63 lines

  1. Notes file for slider program
  2.  
  3. Objective:
  4. Learn how to integrate Sliders into your applications.
  5.  
  6. Terms:
  7. floatValue method: the method, which is part of the Control Class
  8. that allows you to get the floating point value from a slider.
  9.  
  10. Discussion:
  11. We will create a slider and have it update an internal state variable
  12. "myFloat".  This will be used to update the position of a line in a
  13. view.
  14.    
  15. Method:
  16.  
  17. This is very similar to the previous "line" program, but it
  18. adds an instance variable "myFloat".  We then add a slider
  19. and have the slider send an "Action Message" to an instance
  20. the MyView class to tell it to get the new value of the slider.
  21.  
  22. In this we add an action method to the MyView class called "getSlider:".  We then connect the slider up to the View and
  23. have it send the message "getSlider:".
  24.  
  25. The getSlider action does the following:
  26.  
  27. - getSlider:sender
  28. {
  29.     myFloat =[sender floatValue];
  30.     [self display];
  31.     return self;
  32. }
  33.  
  34. In other words, when the slider moves, it updates it internal state
  35. of the myFloat variable in the view, and then send a message to
  36. the MyView object (which is just "self") asking it to update the
  37. display.
  38.  
  39. If you change the drawSelf to be:
  40.  
  41. - drawSelf:(NXRect*)r :(int)c
  42. {
  43.     NXEraseRect(&bounds);
  44.     PSsetgray(NX_BLACK);
  45.     PSsetlinewidth(5.0);
  46.     PSnewpath();
  47.     PSmoveto(bounds.size.width/2.0, 10.0);
  48.     PSlineto(myFloat*1.5, myFloat);
  49.     PSstroke();
  50.     return self;
  51. }
  52.  
  53. You will get a circular gauge object that the slider controls.
  54.  
  55.  
  56. Further Questions:
  57. Take a look at the Control Class.  What other messages can you
  58. send Controls?
  59.    
  60. Summary:
  61.  
  62.  
  63.